/**
 * Copyright (c) 2019-2029, wwww.kiwipeach.cn (liuburu@qq.com).
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * <p>
 * https://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package cn.kiwipeach.blog.domain;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.ArrayList;
import java.util.List;

/**
 * 描述：博客前端Vue路由菜单映射实体
 *
 * @author kiwipeach
 * @since 2.0
 */
@Data
@Accessors(chain = true)
@NoArgsConstructor
public class VueRouterMenue {
    /**
     * 路由路径
     */
    private String path;
    /**
     * 路由名称
     */
    private String name;
    /**
     * 路由组件信息
     */
    private String componentPath;
    /**
     * 默认菜单重定向行为
     */
    private String redirect;
    /**
     * 用于隐藏不需要在菜单中展示的子路由。用法可以查看 个人设置 的配置。
     */
    private boolean hideChildrenInMenu;
    /**
     * 可以在菜单中不展示这个路由，包括子路由。效果可以查看 other 下的路由配置。
     */
    private boolean hidden;
    /**
     * 路由的额外信息
     */
    private MetaVO meta;
    /**
     * 自路由信息
     */
    private List<VueRouterMenue> children = new ArrayList<>();

    public VueRouterMenue(String path, String name) {
        this.path = path;
        this.name = name;
    }
}
